Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
KEDAによるイベント駆動ジョブスケール / Event-driven job scale b...
Search
kohbis
May 27, 2023
Technology
1.5k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
KEDAによるイベント駆動ジョブスケール / Event-driven job scale by KEDA
Kubernetes Novice Tokyo #25 LT でお話しした資料です
https://k8s-novice-jp.connpass.com/event/282344/
kohbis
May 27, 2023
More Decks by kohbis
See All by kohbis
『家族アルバム みてね』における インシデント対応との向き合い方 / Approach incident response in Family Album
kohbis
2
340
Kubernetes環境周りの責任範囲をいい機会なので考える / Taking the Opportunity to Clarify Kubernetes Responsibilities
kohbis
2
410
『家族アルバム みてね』におけるAmazon EKSコストとの向き合い方 / Optimizing Amazon EKS Costs: The FamilyAlbum Case
kohbis
4
1.7k
潜在的課題探索活動の近況報告 / Exploration of latent challenges
kohbis
2
170
いま、あらためて考えてみるアカウント管理 with IaC / Account management with IaC
kohbis
3
1.1k
〜『世界中の家族のこころのインフラ』を目指して”次の10年”へ〜 SREが導いたグローバルサービスの信頼性向上戦略とその舞台裏 / Towards the Next Decade: Enhancing Global Service Reliability
kohbis
4
6.9k
Grafana MCP serverでなんかし隊 / Try Grafana MCP server
kohbis
0
1k
Custom Prometheus Exporterによる オブザーバビリティ拡張 / Extending observability with Custom Prometheus Exporter
kohbis
1
300
データベースで見る『家族アルバム みてね』の変遷 / The Evolution of Family Album Through the Lens of Databases
kohbis
5
1.6k
Other Decks in Technology
See All in Technology
Keeping applications secure by evolving OAuth 2.0 and OpenID Connect
ahus1
PRO
1
130
LiDAR SLAMの実装とセンサ融合 ~Lie群からContinuous-Time LIOまで~
naokiakai
1
930
【FinOps】データドリブンな意思決定を目指して
z63d
3
600
型は壁、Rustでもバグを直すな、表現できなくせよ
nwiizo
4
350
アラート調査向けAIエージェントの本番導入とその後/AI Agents for Alert Investigation: Production Deployment and After
taddy_919
1
330
はてなのサービス基盤を支える Kubernetes《足腰》
masayoshimaezawa
0
430
“ID沼入口” - 基本とセキュリティから始める、考え続けるためのID管理技術勉強会 告知&イントロ
ritou
0
380
AIに「使われる」時代のSaaS戦略 〜既存WebAPIのMCPサーバー化における開発ノウハウ〜
ekispert_api
0
280
依頼文化をやめる日 EM視点で語るPlatform EngineeringとInclusive SRE / Discussing Platform Engineering and Inclusive SRE from an EM's Perspective
shin1988
0
180
Fabricをフル活用する AI Agent Hub -製造業特化AIエージェントの設計
iotcomjpadmin
0
190
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.3k
AIをフル活用してオンコール機能のプロトタイプを2日で作った話 / Building an AI-Powered On-Call Prototype in Just Two Days
nari_ex
0
170
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The agentic SEO stack - context over prompts
schlessera
0
840
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Designing for humans not robots
tammielis
254
26k
Typedesign – Prime Four
hannesfritz
42
3.1k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.1k
Facilitating Awesome Meetings
lara
57
7k
Building the Perfect Custom Keyboard
takai
2
810
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
Mobile First: as difficult as doing things right
swwweet
225
10k
Transcript
KEDAによる イベント駆動ジョブスケール @kohbis Kubernetes Novice Tokyo #25
MIXI, Inc. Agenda 1. Introduction 2. KEDA とは 3. KEDA
によるバックグラウンドジョブのスケール 4. KEDA を動かしてみる 5. まとめ
MIXI, Inc. Introduction
MIXI, Inc. About Me • Kubernetes 歴 1年 • Kubernetes
Novice Tokyo 勉強会には大変お世話になっています Kohei SUGIMOTO 株式会社MIXI 2022/04 ~『家族アルバム みてね』 SRE Twitter : @kohbis
MIXI, Inc. 子どもの写真・動画を、無料・無制限に 共有できるスマートフォンアプリです
MIXI, Inc. 『家族アルバム みてね』のアーキテクチャ(概要) • Amazon EKS クラスター上の Ruby on
Rails アプリケーションがほとんど • バックグラウンドジョブは基本的にい ずれか ◦ Shoryuken - Amazon SQS ◦ Sidekiq - Redis
MIXI, Inc. KEDA
MIXI, Inc. KEDA - Kubernetes Event-driven Autoscaling • 様々なイベントリソースのメトリクスに対応した Scalers
を選択してコンテナのス ケーリングを実現するコンポーネント ◦ Amazon SQS、Google Cloud Pub/Sub などビルトインで 50 以上 • HPA (Horizontal Pod Autoscaler) の CPU/メモリベースでは対応できないケースに活 用できる ◦ 例 ▪ CPU 使用率が上がるまでなかなかスケールされない ▪ I/O 待ちや API 通信が多く CPU 使用率が上がりきらない • ScaledObject という CR の定義に従って内部的に HPA を作成、更新、削除
MIXI, Inc. KEDA の役割 • Agent ◦ Deploymentsのアクティブ/非アクティブを管理 ◦ イベントがないときはレプリカ数を
0 にスケー ルインさせることができる • Metrics ◦ キューの長さなどイベントデータを HPA に公開 • Admission Webhooks ◦ リソースへの変更を検証して設定ミスを防止 引用元: https://keda.sh/docs/2.10/concepts/#architecture
MIXI, Inc. KEDA による バックグラウンドジョブのスケール
MIXI, Inc. バックグラウンドジョブのスケール • 『家族アルバム みてね』の場合 ◦ Shoryuken ▪ KEDA
による SQS メッセージサイズでのスケール ◦ Sidekiq ▪ KEDA + Prometheus による Busy ワーカー割合でのスケール
MIXI, Inc. Shoryuken - KEDA による SQS メッセージサイズでのスケール • Shoryuken
◦ Amazon SQS をバックエンドに非同期処理を実装できる • AWS SQS Queue Scaler を利用
MIXI, Inc. Sidekiq - KEDA + Prometheus による Busy ワーカー割合でのスケール
• Sidekiq ◦ Redis をバックエンドに非同期処理を実装できる ◦ API (Sidekiq::ProcessSet) からメトリクス取得が可能 • Sidekiq メトリクスを Prometheus Exporter で公開 • Prometheus Scaler を利用して “Busy ワーカー数 / 並列数 = 稼働率” でスケール
MIXI, Inc. Sidekiq - KEDA + Prometheus による Busy ワーカー割合でのスケール
MIXI, Inc. KEDA を動かしてみる
MIXI, Inc. KEDA を動かしてみる - 準備 • 環境 : Rancher
Desktop • Metrics API Scaler を利用 { "metrics": { "count": 1 } }
MIXI, Inc. KEDA を動かしてみる - KEDA のインストール • 公式ドキュメント Deploying
KEDA #install にしたがって Helm でインストール
MIXI, Inc. KEDA を動かしてみる - ScaledObject 作成
MIXI, Inc. KEDA を動かしてみる - レプリカ数 0 にスケールイン { "metrics":
{ "count": 0 } }
MIXI, Inc. KEDA を動かしてみる - レプリカ数 3 にスケールアウト { "metrics":
{ "count": 3 } }
MIXI, Inc. まとめ
MIXI, Inc. まとめ • KEDA でイベント駆動のオートスケールを実現できる • KEDA は様々なイベントリソースに対応した Scalers
がある • KEDA は最小 0 のスケールインが可能、コスト効率のよいリソース活用ができる KEDA は既存リソースへの変更少なく導入が可能 Knative Eventing や各マネージドサービス機能と比較・検討しつつ サクッと試してもよいかも。
MIXI, Inc.